home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Media 4
/
PC MEDIA CD04.iso
/
share
/
udos
/
qemmtour
/
tour.tec
Wrap
Text File
|
1992-01-08
|
22KB
|
391 lines
ID:TO QEMM-386's Parameters and how they affect your system
DESQview Technical Note #228
by Quarterdeck Testing & Compatibility Department
December 27, 1991
GRAND TOUR:
USING MANIFEST TO SEE THE EFFECT OF QEMM-386'S PARAMETERS
This is a tour of your computer through the facilities of Manifest
to see how the parameters of QEMM can affect the performance of your
machine and to learn about your machine. The screen of Manifest under
discussion is identified by listing the principal section, as displayed
in the vertical menu on the left of the Manifest screen, first, then a
"/", then the subsection of that principal section, as displayed on the
horizontal menu at the top of the Manifest screen.
The first stop of the tour is the Overview screen of the QEMM-386
section.
QEMM PARAMETER: STEALTHROM (ST)
MANIFEST VIEW: QEMM-386/OVERVIEW
On the QEMM-386/Overview screen MANIFEST reports what version of
Stealth is being used on the line "Stealth Type". On the line below
that it reports what ROMs are being "Stealth"ed, followed by how large
the ROM is.
QEMM PARAMETER: SUSPENDRESUME (SUS)
MANIFEST VIEW: QEMM-386/MEMORY
If you have a laptop computer with a "RESUME" feature that QEMM-386
is supporting, the interrupt QEMM is hooking to support this is listed
on the QEMM-386/Overview screen. You can force QEMM-386 to use any
particular interrupt with the parameter SUS:XX where XX is the interrupt
you wish QEMM to hook for this purpose.
The second stop of the tour is the Memory screen of the QEMM-386
section.
QEMM PARAMETER: NOFILL (NO)
MANIFEST VIEW: QEMM-386/MEMORY
If you have less than 640K of conventional memory before you load
QEMM-386 then the "Initial" column of the "Conventional" line of the
QEMM-386/Memory screen of Manifest will report this. QEMM-386 will map
memory into the vacant address space below 640K to extend conventional
memory up to 640K. If some program objects to this (Microsoft's
"Windows" in enhanced mode is one such program.) then the NOFILL (NO)
parameter will stop this from happening.
QEMM PARAMETER: NOVIDEOFILL (NV)
MANIFEST VIEW: QEMM-386/MEMORY
If you have monochrome or Hercules or CGA video then address space
above 640k and contiguous with conventional memory is available. QEMM386
will automatically map memory to this address space to give you 704K
(monochrome or Hercules) or 736K (CGA) conventional memory. The
"Converted by QEMM" column of the "Conventional" line of the QEMM-
386/Memory of Manifest will report that QEMM has converted 64K (or 96K)
memory, leaving 704K or 736K of conventional memory. Some programs may
object to this. The NOVIDEOFILL (NV) switch will stop this from
happening.
QEMM PARAMETER: NOXBDA (NX)
MANIFEST VIEW: QEMM-386/MEMORY
We are still on the Conventional Memory line. If the "Initial"
column of the "Conventional" line of the QEMM-386/Memory screen of
Manifest is 639K (on some computers it may be 638K or some other number)
then there may be a 1K (or more) piece of memory called the "Extended
BIOS Data Area". This is a piece of memory used by the BIOS to store
information. The specification by which the XBDA (as we abbreviate it)
allows it to be moved; its address is stored in the BIOS data area after
the parallel ports at address 40:E (see the First Meg/BIOS Data screen
of Manifest).
Unfortunately not all users of the XBDA go to the BIOS Data area to
see where the XBDA is; they presume that it is at 639K, read what is
there, and if that is not where the XBDA is they get the wrong
information and misbehave. QEMM moves the XBDA by default into low
memory (QEMM's conventional memory overhead increases by 1K when this
happens; see the last line on the QEMM-386 Memory screen to see this
effect.) The parameter "NOXBDA" ("NX") keeps QEMM386 from moving the
XBDA. If you have an XBDA and run a program that only looks for it at
639K then you need this switch. It is possible that a hard drive
controller or some other device creates the XBDA.
QEMM PARAMETER: EXTMEM (EXT)
MANIFEST VIEW: QEMM-386/MEMORY
On the "Extended ..." line of the QEMM-386/Memory screen of
Manifest you can see a report of how much extended memory QEMM-386 sees
on your machine and what QEMM-386 is doing with it. You may notice that
the number in the "Initial" column is not as much as you thought you
should have. Say you have a four megabyte system: This probably means
4096 kilobytes. Subtract 640 kilobytes for conventional memory and you
would expect to find 3456 kilobytes. If your machine has ShadowRAM or
Top Memory (see the two paragraphs following) then the initial number is
384 kilobytes less than what you would expect. This 384K may or may not
show up on the next line of this screen as ShadowRAM or Top Memory. It
may still be being used for one of these purposes without QEMM-386
detecting it, explaining its absence on the initial column of the
extended line here. On many systems a lesser amount of memory
(typically 128k) is reserved for shadowing ROMs and this only shows up
as missing on this line.
If you are using the parameter "extmem=xxxx" on the QEMM-386 line
then this amount of memory will show on the "Leaving" column of the
extended line. This is unmanaged extended memory left behind by QEMM-
386 for those extended memory users that will not get the extended
memory they desire from the XMS manager. Programs that get their
extended memory from the XMS manager (Windows 3, smartdrive, pc-kwik, pc-
cache, for just a few examples) and any VCPI program will not see the
memory that is left behind with this parameter.
NOTE: An EXTMEM=XXXX cannot be used when XXXX is greater than
15360 (15 MB) because QEMM-386 redirects the DMA done by others, the DMA
controller chip cannot address memory above 16384K, and QEMM-386 leaves
memory from the bottom when an EXTMEM=XXXX is used. An EXTMEM>15360
will keep QEMM-386 from being able to put the DMA buffer in the first
16384K of the address space, preventing it from loading.
QEMM PARAMETER: MEMORY (ME or MEM)
MANIFEST VIEW: QEMM-386/MEMORY
This parameter limits the amount of memory that QEMM-386 manages.
It is a complement to the "EXTMEM" parameter mentioned above. All the
memory that QEMM-386 does not manage is left behind as unmanaged
extended memory. You can see how much memory this is by going to the
QEMM-386/Memory screen of Manifest and looking at the "Leaving" column
of the "Extended" line. For more information on the meaning of this
parameter you can read the above paragraphs on the "EXTMEM" parameter.
QEMM PARAMETER: NOSHADOWRAM (NOSH)
MANIFEST VIEW: QEMM-386/MEMORY
Still in the QEMM-386 memory screen: Is the line beneath
"Extended", "Shadow RAM"? Then you have ShadowRAM. ShadowRAM is a kind
of memory. It is 384K of memory mapped by the hardware into the address
space between 640K and 1024K. When you turn your machine on it copies
the contents of ROMs in this address space into the shadowRAM and future
accesses to the ROM go to this RAM instead. RAM is faster than ROM so
your system runs faster. Since you may have 384K of ShadowRAM and not
384K of ROMs to shadow (You probably have only 96K or so) the rest of
the ShadowRAM is unused.
QEMM386 (beginning with version 5.0) tries to use this memory. You
can see how much of it QEMM uses by looking at the subsequent lines of
the ShadowRAM line of this screen. You will see that some of it is
unavailable to QEMM while some other amount is used. The amount is
variable from machine to machine. Quarterdeck has standardized on the
Chips & Technologies definition, the most common brand of ShadowRAM.
Not all manufacturers follow this standard and if theirs is
sufficiently different QEMM may not detect it or may detect and try to
manage it as though it were C&T ShadowRAM. This possibility is why the
NOSHADOWRAM (NOSH) switch exists. Give it a try if you have boot
problems or other memory problems. On some machines QEMM's attempt to
manage ShadowRAM that is insufficiently similar to C&T ShadowRAM may
cause the machine to reboot continuously.
QEMM PARAMETER: NOTOPMEMORY (NT)
MANIFEST VIEW: QEMM-386/MEMORY
Top Memory is a kind of memory that occupies the address space from
16000K to 16384K, which is the top of the 16 Megabyte address space.
Compaq and Micronics use Top Memory for shadowing ROMs. Beginning with
version 5.00 QEMM-386 tries to use all this memory that is not being
used by the system already. If QEMM-386 is managing this memory it will
show up on the QEMM-386/Memory screen on a separate line underneath the
Extended memory line. If, for some reason, QEMM-386 has problems
managing a particular implementation of Top Memory or it misreads the
system in such a way as to think that it has Top Memory when it really
does not, then this parameter will solve your problem.
QEMM PARAMETER: NOEMS
MANIFEST VIEW: QEMM-386/MEMORY
This parameter tells QEMM-386 not to create any expanded memory.
If this parameter is on the QEMM386.SYS line of the config.sys then "0K"
is in the "Leaving" column of the "Expanded" line in the QEMM-386/Memory
screen of Manifest.
QEMM PARAMETER: RAM
MANIFEST VIEW: QEMM-386/MEMORY
This parameter creates high RAM, the memory into which LOADHI loads
programs high. The last line of the top box of the QEMM-386/Memory
screen of Manifest reports how much high RAM QEMM-386 creates. If the
RAM parameter is not on the QEMM line (or if there is no vacant high
address space) the amount in the "Leaving" column of this line is "0K".
This parameter can be used to create high RAM only in limited portions
of the address space by restricting it with a statement such as
"RAM=B000-B7FF", which will create high RAM only from B000 to B7FF.
QEMM PARAMETER: TASKS (TA)
MANIFEST VIEW: QEMM-386/MEMORY
In the lower box of the QEMM-386/Memory screen of Manifest is
"Tasks: 8K". Tasks are internal QEMM-386 data structures used
to handle interrupts out of protected mode. All DOS interrupts must be
handled in real mode. QEMM switches the machine out of protected mode
(into which it must put the machine to do its job) for the duration of
this interrupt. Tasks are used to store the information that must be
saved when this is done. Extended memory is used for Tasks, not
conventional memory. The default number of tasks (16) is likely to be
enough for any user.
QEMM PARAMETER: DMA (DM)
MANIFEST VIEW: QEMM-386/MEMORY
Underneath "Tasks" is "DMA Buffer: 12K". DMA is the
acronym for Direct Memory Address. Some devices (most floppy disk
controllers, some network cards, some hard disk controllers, many tape
back-ups) use DMA. This is a way to allow information to be transferred
from the disk (network, etc.) to memory directly without burdening the
CPU to perform the transfer. QEMM-386 must divert DMA that is headed
into mapped memory. QEMM-386 sets aside a default DMA buffer of 12K.
This can be raised with the parameter DMA=XX where "XX" represents any
number from 12 to 128. Some devices may require a larger DMA buffer.
If a program demands a larger DMA buffer QEMM-386 will post an error
message telling the user to increase the size of the DMA buffer. If you
have a program, such as a tape backup, fail, even if this error message
is not reported raising the size of the DMA buffer is worth a try.
QEMM-386 PARAMETER: MAPS (MA)
MANIFEST VIEW: QEMM-386/MEMORY
At the top of the second column in the lower box of the QEMM-
386/Memory screen of Manifest is "Maps: 32K". MAPS are alternate
maps, an equivalent of the hardware registers used by some EMS boards to
help operating environments switch quickly between processes. In
DESQview each window uses one of these alternate maps. If DESQview
runs out of alternate maps, it must save and restore the entire expanded
memory map between processes. This results in much less efficient
multitasking. Each MAP uses 4K of extended memory (no conventional
memory). The default is 8 maps. Raise this number if you wish to
multitask efficiently more windows than you currently have MAPS
allocated for (The maximum is 56.) or drop it to 0 (with MA=0) if you do
not use DESQview. Microsoft Windows does not use the MAPS QEMM-386 sets
aside.
QEMM-386 PARAMETER: ROM
MANIFEST VIEW: QEMM-386/MEMORY
On the second row of the second column of the lower box of the QEMM-
386/Memory screen is a line that reads: "Mapped ROM: 4K" (or
some number). This shows the amount of memory that QEMM-386 is using to
map ROMs. Mapping ROM is creating RAM in the same portion of the
address space that a ROM occupies and copying the contents of the ROM
into this RAM. Then accesses of ROM will go to RAM. Accessing RAM is
faster than accessing ROM so this will speed the performance of the
machine. The number on this line indicates the amount of memory
(extended memory, not conventional memory) used to map ROMs. When the
ROM parameter is used without restriction then all ROMs are mapped. The
ROM parameter can be used with restriction (ROM=C000-C7FF, for example)
to ROM only this portion of the address space. If QEMM-386 is not
discovering a ROM that you know is there you may need to use a
restricted ROM= statement for QEMM-386 to map this ROM.
On Compaqs (and some other machines that QEMM-386 detects as having
this same feature.), QEMM-386 automatically maps some ROMs.
The ROM parameter provides the same service that ShadowRAM does.
You should not use the ROM parameter on QEMM-386 if you are using the
built-in ShadowRAM of your computer, not because it will cause a
problem, but because it will be a waste of memory.
QEMM-386 PARAMETER: NOROM (NR)
MANIFEST VIEW: QEMM-386/MEMORY
By default QEMM-386 maps the reboot page of the system ROM (See the
above paragraph for a discussion of mapping ROM). QEMM-386 does this in
order to detect reboots more readily. This is why there is at least 4k
of mapped ROM being reported on the second column of the lower box of
the QEMM-386/Memory screen of Manifest ("Mapped ROM: 4K"). This
feature is defeated by the NOROM (NR) parameter. Using this parameter
may cause problems rebooting.
The third stop of the tour is the Overview screen of the First Meg
section.
QEMM-386 PARAMETER: NOXBDA (NX)
MANIFEST VIEW: FIRST MEG/OVERVIEW
We have already discussed this in a previous paragraph but we can
see it again on this screen. If there is a line in the First
Meg/Overview screen that looks like this:
===Conventional memory ends at 639K====
9FC0-9FFF 1K Extended BIOS Data Area
then you have an XBDA. QEMM-386 will move this by default unless the
NOXDDA parameter is on the QEMM-386 line of the config.sys. This issue
is discussed in greater detail in the above paragraph on this same
parameter. Of course, if QEMM-386 has moved your XBDA, as it does by
default, this line will not appear.
QEMM-386 PARAMETER: EXCLUDE=MMMM-NNNN (X=MMMM-NNNN)
MANIFEST VIEW: FIRST MEG/OVERVIEW
The EXCLUDE=MMMM-NNNN parameter tells QEMM-386 not to map the
portion of the address space bounded below by MMMM and above by NNNN.
Any portion of the address space that QEMM-386 is kept from mapping by
an EXCLUDE that it does not recognize as already being occupied by some
other device will be described as "Unused" on the First Meg/Overview
screen of Manifest. If Manifest sees something (ROM, Adapter RAM, etc.)
in the address space already, it will continue to report that this is
what it sees there.
QEMM-386 PARAMETER: RAM
MANIFEST VIEW: FIRST MEG/OVERVIEW
The portions of the high address space in which QEMM-386 has
created high RAM will have the description "High RAM" in the First
Meg/Overview screen of Manifest. In order for any of the address space
to be turned into high RAM the RAM parameter must be on the QEMM-386
line of the config.sys. This is discussed in greater detail in the
above paragraph about the RAM parameter.
QEMM-386 PARAMETER: ROM
MANIFEST VIEW: FIRST MEG/OVERVIEW
The portions of the address space in which QEMM-386 is mapping ROM
are described as "Mapped ROM" on the First Meg/Overview screen of
Manifest. This parameter maps RAM into the address space occupied by
ROMs and copies the contents of those ROMs into this RAM for faster
performance. This feature is discussed in greater detail in the ROM
section above.
QEMM-386 PARAMETER: ADAPTERRAM=MMMM-NNNN (ARAM=MMMM-NNNN)
MANIFEST VIEW: FIRST MEG/OVERVIEW
The portion of the address space bounded below by MMMM and above by
NNNN with this parameter will be reported as Adapter RAM on the
description field of the First Meg/Overview screen of Manifest. This
parameter causes the portion of the address space bounded by the
beginning address ("MMMM") and the ending address ("NNNN") not to be
mapped by QEMM-386. This should be used when there is a portion of the
address space occupied by the adapter RAM of a physical device (like a
network card). The only difference between this parameter and an
EXCLUDE=MMMM-NNNN is that the description the QEMM.COM program reports
changes to Adapter RAM, rather than "Excluded".
QEMM-386 PARAMETER: ADAPTERROM=MMMM-NNNN (AROM=MMMM-NNNN)
MANIFEST VIEW: FIRST MEG/OVERVIEW
The portion of the address space bounded below by MMMM and above by
NNNN with this parameter will be reported as Adapter ROM on the
description field of the First Meg/Overview screen of Manifest. This
parameter causes the portion of the address space bounded by the
beginning address ("MMMM") and the ending address ("NNNN") not to be
mapped by QEMM-386. This should be used when there is a portion of the
address space occupied by the adapter ROM of a physical device (like a
disk controller ROM). The only difference between this parameter and an
EXCLUDE=MMMM-NNNN is that the description the QEMM.COM program reports
changes to Adapter ROM, rather than "Excluded".
QEMM-386 PARAMETER: (FR=XXXX)
MANIFEST VIEW: FIRST MEG/OVERVIEW
The location of the page frame is reported on the First
Meg/Overview screen of Manifest with the description of "Page Frame".
The "FRAME=XXXX" parameter tells QEMM-386 where to put the page frame.
XXXX can be any hexadecinal number that is a multiple of 16K (C000,
C400, C800, CC00, D000, D400, D800, DC00, E000, etc.) The page frame is
64K long. Of course if you put your page frame on top of the address
space used by the video card, BIOS ROM, network card's RAM buffer, etc.,
you will have trouble. The default setting of FRAME is AUTO, which is
achieved by not having a FRAME=XXXX statement at all. QEMM-386 finds
the location it feels is most suitable for the page frame, usually the
highest available free 64K piece of the address space. With Stealth,
QEMM versions 6 and above will put the page frame at C000, if
appropriate, or EC00 by default.
The fourth stop is the BIOS Data screen of the First Meg section.
QEMM-386 PARAMETER: NOXBDA (NX)
MANIFEST VIEW: FIRST MEG/BIOS DATA
The third line of the First Meg/BIOS Data screen of Manifest will
read "0E: Extended Bios Segment 0AF8" (or whatever address at which
the XBDA is being put) if you have an Extended BIOS Data Area. The XBDA
is discussed in greater detail in the NOXBDA section above in the QEMM-
386/Memory section and there is also a paragraph in the First
Meg/Overview section of this document.
The fifth stop is the Timings screen of the First Meg section.
QEMM-386 PARAMETER: ROM
MANIFEST VIEW: FIRST MEG/TIMINGS
If the timing of a portion of the address space occupied by a ROM
is as fast as the portion of the address space occupied by conventional
memory (Conventional Memory is in the address space beginning at 0000
and running, usually, to 9FFF. The portion of the address space
occupied by a ROM should be identified as "System ROM", or "Disk ROM",
"Video ROM", or "Adapter ROM" on the description field of the First
Meg/Overview screen of Manifest ) then that ROM is being "shadowed" in
RAM; see the "ROM" section of the "QEMM-386/Memory" section of this
document. If the speeds are the same without the ROM parameter on the
QEMM line then this service is being performed in hardware.
If this service is not being performed in hardware then you can use
QEMM-386 to provide this service by placing the ROM parameter on the
QEMM line of the config.sys. You may find that, on some systems, only
the system ROM (or perhaps system and video ROMs) are being sped up by
the system hardware. If you have a ROM that is not being sped up by the
system hardware then QEMM-386 can be used to speed up only a specific
range of ROM by using the parameter "ROM=MMMM-NNNN" where "MMMM" is the
beginning address of the ROM and "NNNN" is the ending address of the
ROM. Say you have a Disk ROM at C800-CBFF and your system is shadowing
the System ROM (typically F000-FFFF) and Video ROM (typically C000-C7FF)
already but is not shadowing the Disk ROM: You can put the parameter
"ROM=C800-CBFF" on the QEMM line of the config.sys to get this same
service for the disk ROM.
See the "ROM" section of the QEMM-386/Memory section of this
document for more discussion of the ROM parameter and the "NOSHADOWRAM"
section of of the QEMM-386/Memory section of this document for more
discussion of the concept of shadowing ROMs.
Copyright (C) 1991 by Quarterdeck Office Systems
* * * E N D O F F I L E * * *